import $ from 'jquery';
import { getToken, getRefeshToken } from '@/utils/auth';
import { PrintDeviceQRCode } from '@/api/teachDevice/account.js';
import {
  ElMessage,
  ElMessageBox,
  ElNotification,
  ElLoading
} from 'element-plus';

// const { proxy } = getCurrentInstance();
//批量打印
export async function batchPrint(data, name) {
  try {
    let query = {
      ReportType: 'gridreport',
      ReportName: encodeURIComponent(name) + '.grf',
      ReportVersion: 1,
      ReportUrl: '',
      Copies: 0,
      PrinterName: '',
      PrintOffsetX: 0,
      PrintOffsetY: 0,
      token: 'aa',
      taskId: '1234567',
      exportfilename: '',
      Field:
        '[' + ///*字段， type ftBlob (base64格式) ,ftString ftInteger ftBoolean, ftFloat, ftCurrency,ftDateTime,  size (ftString 设置为实际长度,其他的设置为0,例如 ftInteger ftBlob 等设置为0 )
        '{"type": "ftString", "name": "Company","size": 255,"required": false},' +
        '{"type": "ftString", "name": "Code","size": 255,"required": false},' +
        '{"type": "ftString", "name": "Name","size": 255,"required": false},' +
        ']',
      Data: data
    };
    let res = await PrintDeviceQRCode(query);

    if (res.data.data == '') {
      alert('连接HttpPrinter失败');
    } else {
      if (res.data.status == 'ok') {
        let url = window.open(res.data.data, '_blank'); //转到一个新的tab
      } else {
        alert('打印失败:' + res.data.data);
      }
    }
  } catch (error) {
    console.log(error);
  }

  // $.ajax({
  //   type: 'Post',
  //   // url: 'https://in-fu.com:9003/api/v1/print/httpPrinter',
  //   url: 'http://172.16.50.51:8088/api/v1/print/httpPrinter',
  //   // url:'http://print.in-fu.com/printreport',
  //   data: {
  //     ReportType:
  //       'gridreport' /*报表类型 gridreport fastreport 为空 将默认为gridreport  */,
  //     ReportName: name + '.grf' /*报表文件名 员工档案 */,
  //     ReportVersion: 1 /*可选。报表版本, 为空则默认1  如果本地报表的版本过低 将从 ReportUrl 地址进行下载更新*/,
  //     //"ReportUrl": "http://111.67.202.157:9099/report/employee.grf",                  /*可选。为空 将不更新本地报表 , 如果本地报表不存在可以从该地址自动下载*/
  //     ReportUrl:
  //       '' /*可选。为空 将不更新本地报表 , 如果本地报表不存在可以从该地址自动下载*/,
  //     Copies: 0 /*可选。打印份数，支持指定打印份数。默认1份,如果为零,不打印,只返回报表生成的pdf,jpg等文件*/,
  //     PrinterName:
  //       '' /*可选。指定打印机，为空的话 使用默认打印机, 请在 控制面板 -> 设备和打印机 中查看您的打印机的名称 */,
  //     PrintOffsetX: 0 /*可选。打印右偏移，单位厘米。报表的水平方向上的偏移量，向右为正，向左为负。*/,
  //     PrintOffsetY: 0 /*可选。打印下偏移，单位厘米。 报表的垂直方向上的偏移量，向下为正，向上为负。*/,
  //     token: 'aa' /*可选。只要token值在列表中 方可打印*/,
  //     taskId:
  //       '1234567' /*可选。多个打印任务同时打印时，根据该id确定返回的是哪个打印任务。 */,
  //     exportfilename:
  //       '' /*可选。自定义 导出 文件名称 例如 test  会 导出 http://127.0.0.1:12345/gridreport/test.pdf   格式为 ip+port+报表类型+名称+文件类型      */,

  //     Field:
  //       '[' + ///*字段， type ftBlob (base64格式) ,ftString ftInteger ftBoolean, ftFloat, ftCurrency,ftDateTime,  size (ftString 设置为实际长度,其他的设置为0,例如 ftInteger ftBlob 等设置为0 )
  //       '{"type": "ftString", "name": "Company","size": 255,"required": false},' +
  //       '{"type": "ftString", "name": "Code","size": 255,"required": false},' +
  //       '{"type": "ftString", "name": "Name","size": 255,"required": false},' +
  //       ']',

  //     Data: data
  //   },
  //   // '['  ///*数据行
  //   //         + '{"Company": "茵福科技", "Code": "A01", "Name": "设备1"}, '

  //   //         + '{"Company": "茵福科技", "Code": "A02", "Name": "设备2"}, '

  //   //         + '{"Company": "茵福科技", "Code": "A03", "Name": "设备3"}, '

  //   //         + '{"Company": "茵福科技", "Code": "A04", "Name": "设备4"}, '

  //   //         + ']',
  //   error: function () {
  //     ElMessage.error('运行打印方法错误!');
  //   },
  //   success: function (data, textStatus) {
  //     data = decodeURIComponent(data.data);
  //     if (data == '') {
  //       alert('连接HttpPrinter失败');
  //     } else {
  //       var obj = JSON.parse(data);
  //       if (obj.status == 'ok') {
  //         let url = window.open(obj.data, '_blank'); //转到一个新的tab
  //       } else {
  //         alert('打印失败:' + obj.data);
  //       }
  //     }
  //   }
  // });
}

export const imgUrlToBase64 = url => {
  window.URL = window.URL || window.webkitURL;
  var xhr = new XMLHttpRequest();
  console.log(url);
  xhr.open('get', url, true);
  xhr.responseType = 'blob';
  xhr.onload = function () {
    if (this.status == 200) {
      //得到一个blob对象
      var blob = this.response;
      console.log('blob', blob);
      // 至关重要
      let oFileReader = new FileReader();
      oFileReader.onloadend = function (e) {
        // 此处拿到的已经是base64的图片了,可以赋值做相应的处理
        console.log(e.target.result);
      };
      oFileReader.readAsDataURL(blob);
    }
  };
  xhr.send();
};
